#ifndef PLATMISC
#define PLATMISC

#include <string>

namespace Platinum{
		/**
		*	Error objects contain both a message and an error code and are thrown by misc exceptions
		*/
		struct Error{
			int errCode;
			std::string errMessage;
			Error(int code, std::string msg);
		};

		/**
		* strtocharp takes a std::string and returns a pointer to type char or char*
		* The purpose of this function is to ease dealing with legacy interfaces that insist on char* that can be modified
		* Please make sure to free the buffer returned by this as soon as you are done with it, otherwise you will leak memory!
		*/ 
		char* strtocharp(std::string Data);
}
#ifdef WIN32
#include "win/misc.h"
#endif

#ifdef LINUX
#include "lin/misc.h"
#endif

#ifdef MAC
#include "mac/misc.h"
#endif

#endif
